﻿
// GOODSDlg.cpp: 实现文件

#include "pch.h"
#include "framework.h"
#include "GOODS.h"
#include "GOODSDlg.h"
#include "afxdialogex.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialogEx
{
public:
    CAboutDlg();

    // 对话框数据
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_ABOUTBOX };
#endif

protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

    // 实现
protected:
    DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()

// CGOODSDlg 对话框

CGOODSDlg::CGOODSDlg(CWnd* pParent /*=nullptr*/)
    : CDialogEx(IDD_GOODS_DIALOG, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CGOODSDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
  
    DDX_Control(pDX, IDC_COMBO_CATEGORY, m_comboCategory);
    DDX_Control(pDX, IDC_EDIT_QUANTITY, m_editQuantity);
    DDX_Control(pDX, IDC_CHECK_PURCHASED, m_checkPurchased);
    DDX_Control(pDX, IDC_LISTBOX_GOODS, m_listBoxGoods);
}

BEGIN_MESSAGE_MAP(CGOODSDlg, CDialogEx)
    ON_BN_CLICKED(IDC_BUTTON_PURCHASE, &CGOODSDlg::OnBnClickedButtonPurchase)
    ON_BN_CLICKED(IDC_BUTTON_EXIT, &CGOODSDlg::OnBnClickedButtonExit)
END_MESSAGE_MAP()

// CGOODSDlg 消息处理程序

BOOL CGOODSDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 设置此对话框的图标。  当应用程序主窗口不是对话框时，框架将自动
    //  执行此操作
    SetIcon(m_hIcon, TRUE);			// 设置大图标
    SetIcon(m_hIcon, FALSE);		// 设置小图标

    // 初始化组合框内容
    m_comboCategory.AddString(_T("日常用品"));
    // 可以添加更多类别...

    // 设置数量编辑框的初始值
    m_editQuantity.SetWindowTextW(_T("0"));

    // 初始化复选框状态（未选中）
    m_checkPurchased.SetCheck(BST_UNCHECKED);
    CDialogEx::OnInitDialog();
    // ... 其他初始化代码 ...

    // 获取列表框控件的指针
    CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LISTBOX_GOODS);
    if (pListBox != nullptr)
    {
        // 初始化列表框内容
        pListBox->AddString(_T("肥皂"));
        pListBox->AddString(_T("毛巾"));
        pListBox->AddString(_T("牙膏"));
        pListBox->AddString(_T("牙刷"));
    
    }


    return TRUE;  // 除非将焦点设置到控件，否则返回 TRUE
}


void CGOODSDlg::OnBnClickedButtonPurchase()
{
    CString strQuantity;
    m_editQuantity.GetWindowTextW(strQuantity); // 或者使用 GetWindowText() 来自动根据字符集选择
    int quantity = _ttoi(strQuantity);

    if (quantity > 0 && m_checkPurchased.GetCheck() == BST_CHECKED)
    {
        CString message;
        message.Format(_T("购买成功！数量为：%d"), quantity);
        AfxMessageBox(message);
    }
    else
    {
        AfxMessageBox(_T("请输入正确的数量和确认已购选项！"));
    }
}


void CGOODSDlg::OnBnClickedButtonExit()
{
    // 关闭对话框
    CDialogEx::OnCancel();
}

